#pragma once

#include "Math.h"

struct Viewport
{
	Viewport() {
		x = y = w = h = 0;
	}

	int x, y, w, h;
};

class Scene;
class Node;

class Camera
{
public:
	Camera(void);
	~Camera(void);

	void SetPosition(const Vector3& pos);
	void LookAt(const Vector3& target);

	void SetViewport(const Viewport& viewport);
	Viewport GetViewport() {
		return mViewport;
	}

	void Render(Scene* scene, bool selectMode = false, int x = 0, int y = 0);

private:
	Vector3 mPosition;
	Vector3 mTarget;
	Viewport mViewport;
};
